Dependencies
Table of Contents
[Sticky]
We recommend using the package manager for installing the GstMoQ dependencies for PC (x86/x64) and NVIDIA Jetson boards. In this section, you will find the instructions to install the dependencies with the package manager.
GstMoQ depends on GStreamer 1.22, so having GStreamer 1.22 or higher is required.
Step 1: Install System Dependencies
sudo apt update sudo apt install -y \ build-essential \ cmake \ pkg-config \ libssl-dev \ git \ curl
Step 2: Install GStreamer
sudo apt update sudo apt install -y \ gstreamer1.0-tools \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-ugly \ gstreamer1.0-libav \ gstreamer1.0-nice \ gstreamer1.0-x \ gstreamer1.0-gl \ gstreamer1.0-gtk3 \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ libgstreamer-plugins-bad1.0-dev #Check installation: gst-inspect-1.0 --version #Expected output (example): GStreamer 1.24.x
Step 3: Install Rust and Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y #Source the environment: source ~/.cargo/env #Check installation: rustc --version cargo --version
Step 4: Install Cargo external extension
#installation extension cargo install cargo-c # Relay extension cargo install moq-relay
Step 5: Rust GStreamer plugins compilation
#Clone Rust plugins repository: git clone --branch 0.14 --depth 1 https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git #Go inside and compile the plugins: cd gst-plugins-rs cargo build --release \ -p gst-plugin-fmp4 #Environment setup: export GST_PLUGIN_PATH=$HOME/gst-plugins-rs/target/release #[OPTIONAL] add setup to ~/.bashrc: echo 'export GST_PLUGIN_PATH=$HOME/gst-plugins-rs/target/release' >> ~/.bashrc #Check Installation: gst-inspect-1.0 isofmp4mux
Step 6: Web Dependencies
sudo apt install -y nodejs npm